extends ItemData
class_name StrengthenStone

##强化等级（决定强化成功率）
@export_range(1, 10) var strengthen_level: int = 1

##强化成功率（百分比）
@export_range(0, 100) var success_rate: int = 100

##强化经验值
@export var strengthen_exp: int = 30

##强化失败是否会降级
@export var can_degrade: bool = false

##强化失败是否会破坏装备
@export var can_destroy: bool = false

##强化石品质
@export_enum("普通", "精良", "稀有", "史诗", "传说") var quality: String = "普通"

func _init():
    # 设置基础属性
    type = "强化石"
    is_stackable = true
    name = ""
    description = ""
    price = 0
    count = 1

# 获取强化石完整名称
func get_full_name() -> String:
    return "[" + quality + "]" + name + " +%d" % strengthen_level

# 获取强化石详细信息
func get_detail() -> String:
    var 详细信息 = """
    品质：%s
    等级：%d
    成功率：%d%%
    价格：%d灵魂
    """ % [quality, strengthen_level, success_rate, price]
    
    if can_degrade:
        详细信息 += "\n失败会降级"
    if can_destroy:
        详细信息 += "\n失败会破坏装备"
    
    详细信息 += "\n描述：" + description
    
    return 详细信息

# 计算强化成功率
func calculate_success_rate(装备等级: int) -> int:
    var 实际成功率 = success_rate
    # 如果装备等级高于强化石等级，成功率降低
    if 装备等级 > strengthen_level:
        实际成功率 -= (装备等级 - strengthen_level) * 10
    return max(实际成功率, 5)  # 最低5%成功率